package leetcode_core.leetcode_6;

import org.junit.Test;

/**
 * 功能描述
 *
 * @author: 张庭杰
 * @date: 2023年02月19日 20:35
 */
public class LongestPalindrome {
    public String longestPalindrome(String s) {
        char[] str = s.toCharArray();
        int[] max = new int[]{-1,-1,-1};
        for(int i = 0;i<str.length;i++){
            int[] arr1 = getLength(str,i,i+1);
            int[] arr2 = getLength(str,i,i);
            int[] chose;
            if(arr1[2] >= arr2[2]){
                chose = arr1;
            }else{
                chose = arr2;
            }
            if(chose[2] > max[2]){
                max = chose;
            }
        }
        return s.substring(max[0],max[1]+1);
    }
    private int[] getLength(char[] str,int l,int r){
        while(l>=0 && r < str.length && str[l] == str[r]){
            l--;r++;
        }
        //r-1-l-1+1 = r-l-1
        return new int[]{l+1,r-1,r-l-1};
    }

    @Test
    public void test(){
        System.out.println(longestPalindrome("cbbd"));
    }
}
